﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

/* 
  *  机器人运动学姿态类型
  *  作用：主要用来存放机器人姿态类型数据结构与定义
  *  创建时间：2019/07/20 wj
  *  修改时间：2019/11/24 wj
  */
namespace Common.Define
{
    /** 运动类参数结构: **/
    public class MotionDefine
    {
        /** 上界/下界/最大/最小/运行范围 **/
        public double minBorderHeight;
        public double maxBorderHeight;
        public double planeXYInsideBorder;
        public double planeXYOutsideBorder;

        /** 最大/最小运动速度 **/
        public double minSpeedValue;
        public double maxSpeedValue;
    }
}

/**
   * \brief 运行范围类别
   */
public enum OperationRangeType
{
    Inside,           // 运行范围内
    Outside,        // 运行范围外
    Boundary,     // 运行范围处于边界
    OutHeight,   // 运行超出上下边界范围外 [仅适用于SCARA机器人]
}

/**
   * \brief 运动学多解类别 【可扩展】
   */
public enum MotionAntisolutionType
{
    None = 0x0000,                             // 空状态
    ElbowNonFlipMode = 0x0001,      // 肘部非反转状态 【SCARA机器人左臂状态】
    ElbowFlipMode = 0x0002,             // 肘部反转状态 【SCARA机器人右臂状态】
}
 
/**
   * \brief 运动学运行类别
   */
public enum KinematicMotionType
{
    None,
    WorldCoordinateMode,      // 世界坐标系下运动模式
    ToolCoordinateMode,        // 执行器坐标系下运动模式
}